<?php

add_filter('the_content', 'fcm_sostituisci_tag');

function fcm_sostituisci_tag($contenuto){
	if (stripos($contenuto, '[fcm_pagina_classifica]')) {
		return fcm_genera_pagina_classifica($contenuto);	
	}
	else
		return $contenuto;
}

function fcm_genera_pagina_classifica($contenuto) {
	global $fcm;
	
	//str_ireplace('[fcm_pagina_classifica]', '', $contenuto);
	
	if (! competizioni_aggiornate()){
		$mTimeCompetizioni = $fcm->ottieniMTime('competizioni');
		update_option(fcm_ultimo_aggiornamento_competizioni, $mTimeCompetizioni);
		//echo '<script>alert("aggiorno competizioni");</script>';
		$competizioni = $fcm->ottieniCompetizioni();
		fcm_aggiorna_competizioni($competizioni);
	}
	
	if (! gironi_aggiornati()){
	// if (TRUE){
		$mTimeGironi = $fcm->ottieniMTime('gironi');
		update_option(fcm_ultimo_aggiornamento_gironi, $mTimeGironi);
		//echo '<script>alert("aggiorno gironi");</script>';
		$gironi = $fcm->OttieniGironi();
		fcm_aggiorna_gironi($gironi);
	}
	
	//echo '<script>alert("genero pagina classifica");</script>';
	$competizioni = fcm_ottieni_competizioni();
	
	if ($competizioni) {
		foreach ($competizioni AS $competizione) {
			$classifica = fcm_ottieni_classifica($competizione->id);
			if ($classifica) {
				if ($competizione->gironeunico) {
					$nuovo_contenuto .= '<table>';
					$nuovo_contenuto .=  '<tr><th colspan="2">' . $competizione->nome . '</th></tr>';
					
					foreach ($classifica AS $posizione)
						$nuovo_contenuto .=  '<tr><td>' . $posizione->nome . '</td><td align="right">' . $posizione->punti . '</td></tr>';
					
					$nuovo_contenuto .=  '</table><br /><br />';	
				}
				else {
					$nuovo_contenuto .= '<table>';
					
					foreach ($classifica AS $posizione){
						if ( ! isset($girone)) {
							$girone = $posizione->idgirone;
							$nuovo_contenuto .=  '<tr><th colspan="2">' . $competizione->nome . ' ' . $posizione->nome_girone . '</th></tr>';
						}

						if ( $posizione->idgirone != $girone ) {
							$girone = $posizione->idgirone;
							$nuovo_contenuto .= '</table><br /><br />';
							$nuovo_contenuto .= '<table>';
							$nuovo_contenuto .=  '<tr><th colspan="2">' . $competizione->nome . ' ' . $posizione->nome_girone . '</th></tr>';
						}
							
						$nuovo_contenuto .=  '<tr><td>' . $posizione->nome . '</td><td align="right">' . $posizione->punti . '</td></tr>';
					}
					unset($girone);
					
					$nuovo_contenuto .=  '</table><br /><br />';
				}
			}
			else
				continue;
				// trigger_error('Impossibile trovare la classifica per la competizione ' . $competizione->nome, E_USER_WARNING);
		}
		return $nuovo_contenuto;
	}
	else{
		trigger_error('Competizioni non trovate', E_USER_WARNING);
		return $contenuto;
	}
}

?>